#ifndef _BASKET_H_
#define _BASKET_H_

#include <iostream>

class Basket
{
private:
	size_t num_app; // number of apples
	size_t index_bask; // basket's index

public:
	Basket ();
	Basket (size_t index);
	Basket (size_t index, size_t number);
	~Basket ();

	size_t get_num () const;
	void set_num (size_t number);
	size_t get_index () const;
	void set_index (size_t value);
};

/*
Comparator for field *num_app* Basket's class
Basket a - the first operand to compare
Basket b - the second operand to compare
size_t variant:
			0 - strict comparison
			other - non-strict comparisons
*/
struct comparator_num_app
{
	bool operator () (Basket* a, Basket* b, size_t variant) const;
};

/*
Comparator for field *index_bask* Basket's class
Basket a - the first operand to compare
Basket b - the second operand to compare
size_t variant:
			0 - strict comparison
			other - non-strict comparisons
*/
struct comparator_index_bask
{
	bool operator () (Basket* a, Basket* b, size_t variant) const;
};

#endif